package org.code.boot.mapper.common;

import java.util.List;
import java.util.Collection;
import org.code.boot.domain.common.ComMessage;

/**
 * 留言Mapper接口
 * 
 * @author coder
 * @date 2025-08-27
 */
public interface ComMessageMapper 
{
    /**
     * 查询留言
     * 
     * @param messageId 留言主键
     * @return 留言
     */
    public ComMessage selectComMessageByMessageId(Long messageId);

    /**
     * 查询留言列表
     * 
     * @param comMessage 留言
     * @return 留言集合
     */
    public List<ComMessage> selectComMessageList(ComMessage comMessage);

    /**
     * 新增留言
     * 
     * @param comMessage 留言
     * @return 结果
     */
    public int insertComMessage(ComMessage comMessage);

    /**
     * 修改留言
     * 
     * @param comMessage 留言
     * @return 结果
     */
    public int updateComMessage(ComMessage comMessage);

    /**
     * 删除留言
     * 
     * @param messageId 留言主键
     * @return 结果
     */
    public int deleteComMessageByMessageId(Long messageId);

    /**
     * 批量删除留言
     * 
     * @param messageIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteComMessageByMessageIds(Long[] messageIds);

    /**
     * 根据ID集合查询留言列表
     * 
     * @param ids 留言ID集合
     * @return 留言列表
     */
    public List<ComMessage> selectComMessageListByIds(Collection<Long> ids);

    /**
     * 根据用户ID列表统计留言数量
     * 
     * @param userIds 用户ID集合
     * @return 留言数量
     */
    public Long countByUserIds(Collection<Long> userIds);

}
